package org.batatasframework.support.type;

import java.util.Collections;
import java.util.List;

public class OptionalTypeSingle extends OptionalType{
	/**
	 * 当没有相应的选项时，都会把该值相应的归为空类里，这种方式应该只有单选的才有，
	 * 多选的话是允许不选择的，所以多选并不能判断某个值为没有选择
	 */
	protected String nullTitle;

	@Override
	public String show(long value) {
		for(OptionalItem oi : sources){
			if(internalMatch(oi, value)) 
				return oi.name;
		}
		return "";
	}

	@Override
	public List<OptionalItem> find(long value) {
		for(OptionalItem oi : sources){
			if(internalMatch(oi, value)) 
				return Collections.singletonList(oi);
		}
		return Collections.emptyList();
	}

	@Override
	protected boolean internalMatch(OptionalItem item, long optionValue) {
		return item.value == optionValue;
	}

	@Override
	public boolean isMultiple() {
		return false;
	}
}
